package com.melhoramigo.Utils;

import com.melhoramigo.CadastroFragment;
import com.melhoramigo.R;
import com.melhoramigo.model.Pessoa;

import android.annotation.SuppressLint;
import android.app.Fragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;

@SuppressLint("ValidFragment")
public class FormularioCadastroHelper extends Fragment{

	// ATRIBUTOS
	private EditText txtNome;
	private EditText txtEmail;
	private EditText txtDdd;
	private EditText txtTelefone;
	private EditText txtSenha;
	private Pessoa p;
	
	// CONSTRUTOR
	public FormularioCadastroHelper(CadastroFragment formulario) {
		txtNome 	= (EditText) formulario.getActivity().findViewById(R.id.txtNome);
		txtEmail 	= (EditText) formulario.getActivity().findViewById(R.id.txtEmail);
		txtDdd 		= (EditText) formulario.getActivity().findViewById(R.id.txtDdd);
		txtTelefone = (EditText) formulario.getActivity().findViewById(R.id.txtTel);
		txtSenha 	= (EditText) formulario.getActivity().findViewById(R.id.txtSenha);
		p = new Pessoa();
	}
	
	// Pega dados do formulario e coloca no objeto pessoa
	public Pessoa pegaPessoaDoFormulario() {
		p.setNome(txtNome.getText().toString());
		p.setEmail(txtEmail.getText().toString());
		p.setDdd(txtDdd.getText().toString());
		p.setTelefone(txtTelefone.getText().toString());
		p.setSenha(txtSenha.getText().toString());
		
		return p;
	}
	
	// Valida campos do formularios cadastro (setError)
	public boolean validaCampos() {
		//TODO validao repetir senha
		boolean valido = true;
		
		if ( txtNome.getText().toString().equals("")) { 
			txtNome.setError("Favor inserir nome");
			valido = false;
		}
		if ( txtEmail.getText().toString().equals("")) { 
			txtEmail.setError("Favor inserir email");
			valido = false;
		}
		if ( txtDdd.getText().toString().equals("")) { 
			txtDdd.setError("Favor inserir DDD");
			valido = false;
		}
		if ( txtTelefone.getText().toString().equals("")) { 
			txtTelefone.setError("Favor inserir telefone");
			valido = false;
		}
		if ( txtSenha.getText().toString().equals("")) { 
			txtSenha.setError("Favor inserir senha");
			valido = false;
		}
		
		if ( !txtNome.getText().toString().equals("") 		&&
				!txtEmail.getText().toString().equals("") 	&&
				!txtDdd.getText().toString().equals("") 	&&
				!txtTelefone.getText().toString().equals("")&&
				!txtSenha.getText().toString().equals("")) {
			valido = true;
		}
		
		return valido;
	}
	
	// Limpar validacoes dos campos do cadastro (setError)
	public TextWatcher limparValidacao(final CadastroFragment formulario, final String nomeTxt, final int valorIntTxt) {
		return new TextWatcher() {
			
			@Override
			public void onTextChanged(CharSequence s, int start, int before, int count) {
				
			}
			
			@Override
			public void beforeTextChanged(CharSequence s, int start, int count,
					int after) {
				
			}
			
			@Override
			public void afterTextChanged(Editable s) {
				EditText nomeTxt = (EditText) formulario.getActivity().findViewById(valorIntTxt);
				nomeTxt.setError(null);
			}
		};
	}
}
